/*
 * pilassub.c
 *
 *  Created on: 26/09/2011
 *      Author: utn_so
 */



//#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include "pilassub.h"

/****  NO SE USA ****/

struct nodoPilaDirectorio *CrearPilaDirectorio ()
{
	return NULL;
}

struct nodoPilaDirectorio *ApilarDirectorio(struct nodoPilaDirectorio *pila, uint32_t v)
{
   struct nodoPilaDirectorio *nuevo;

   /* Crear un nodo nuevo */
   nuevo = (struct nodoPilaDirectorio *)malloc(sizeof(struct nodoPilaDirectorio));
   nuevo->dato = v;

   /* Añadimos la pila a continuación del nuevo nodo */
   nuevo->sgte = pila;
   /* Ahora, el comienzo de nuestra pila es en nuevo nodo */
   //pila = nuevo;
   return nuevo;
}

uint32_t DesapilarDirectorio(struct nodoPilaDirectorio **pila)
{
	struct nodoPilaDirectorio *nodo; /* variable auxiliar para manipular nodo */
	uint32_t v;      /* variable auxiliar para retorno */

   /* Nodo apunta al primer elemento de la pila */
   nodo = *pila;
   if(nodo == NULL) return 0; /* Si no hay nodos en la pila retornamos 0
*/
   /* Asignamos a pila toda la pila menos el primer elemento */
   *pila = nodo->sgte;
   /* Guardamos el dato de retorno */
   v = nodo->dato;
   /* Borrar el nodo */
   free(nodo);
   return v;
}
